<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2018 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2018/08-August/31.xhtml"/>
		<title>assert() has been disabled this whole time ... &lt;https://y.st./en/weblog/2018/08-August/31.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png"/>
		<link rel="stylesheet" type="text/css" href="/link/main.css"/>
		<script type="text/javascript" src="/script/javascript.js"/>
		<meta name="viewport" content="width=device-width"/>
	</head>
	<body>
<nav>
	<p>
		<a href="/en/coursework/">Coursework</a> |
		<a href="/en/take-down/">Take-down requests</a> |
		<a href="/en/">Home</a> |
		<a href="/en/a/about.xhtml">About</a> |
		<a href="/en/a/contact.xhtml">Contact</a> |
		<a href="/a/canary.txt">Canary</a> |
		<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
		<a href="/en/opinion/">Opinions</a> |
		<a href="/en/law/">Law</a> |
		<a href="/en/recipe/">Recipes</a> |
		<a href="/en/a/links.xhtml">Links</a> |
		<a href="/en/weblog/2018/08-August/31.xhtml.asc">{this page}.asc</a>
	</p>
	<hr/>
	<p>
		Weblog index:
		<a href="/en/weblog/memories">Memories</a> |
		<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
		<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
		<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
	</p>
	<hr/>
	<p>
		Jump to entry:
		<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
		<a rel="prev" href="/en/weblog/2018/08-August/30.xhtml">&lt;Previous</a>
		<a rel="next" href="/en/weblog/2018/09-September/01.xhtml">Next&gt;</a>
		<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
</nav>
		<header>
			<h1><code>assert()</code> has been disabled this whole time ...</h1>
			<p>Day 01273: <time>Friday, 2018 August 31</time></p>
		</header>
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2018/08/31.jpg" alt="A tiny, man-made waterfall" class="framed-centred-image" width="649" height="480"/>
<section id="include.d">
	<h2><code>include.d</code></h2>
	<p>
		While at the <abbr title="Eugene Unix &amp; GNU/Linux User Group">EUGLUG</abbr> meeting last night, I started work on the code that will scan my compiled files to see if I&apos;ve made any basic mistakes in character escaping on this website, or rather, mistakes by way of lack of escaping.
		I&apos;ll end up throwing out everything I did at the meeting and replacing it with a more robust finite state machine system, but first, I need to fix up my debug scripts for <code>include.d</code>, as <code>include.d</code> contains the new sanity check code for the website.
		I found while I was working that <code>assert()</code>ions aren&apos;t being properly evaluated.
	</p>
	<p>
		It turns out the <a href="https://secure.php.net/manual/en/function.assert.php"><code>zend.assertions</code></a> option has to be set to <code>1</code>.
		Otherwise, assertions are completely ignored.
		And it&apos;s set to <code>0</code> by default.
		Annoyingly, this option can&apos;t be set from within the script itself, as it&apos;s a compile-time setting, so it has to be set globally in the configuration files.
		Otherwise, <code>assert()</code> basically acts as a comment.
		It does nothing.
	</p>
	<p>
		With the setting fixed, I found my debug code no longer runs without error.
		Basically, it detected no errors in <code>include.d</code> before because it was skipping over all the tests.
		That&apos;s helpful.
		So now I&apos;ve got to go back and debug a bunch of things I thought I&apos;d already debugged.
		And best of all, I don&apos;t remember the details of how the code is <strong>*supposed*</strong> to work.
	</p>
</section>
<section id="exploration">
	<h2>Exploration</h2>
	<p>
		In trying to move things along, I decided to try to find the local <abbr title="Internet service provider">ISP</abbr>&apos;s store as my main goal for the day instead of dedicating most of the day to exploration of a path I&apos;ve been meaning to look down as I&apos;d previously planned.
		I&apos;d try the path on the way home.
		Since I was skipping the path I&apos;d wanted to explore on the way out, I was able to instead explore another path I&apos;d&apos;ve had to skip to get to the one I&apos;d been going to aim for.
		I had a pretty good idea this path would still lead me in the right direction, but I&apos;d never actually used the path.
		It turns out it&apos;s a longer path to the same place as the main path.
		It&apos;s like a scenic route or something.
	</p>
	<p>
		On the way back, I explored the initially-intended path, quickly finding a new branch to explore.
		I&apos;ll leave that branch for tomorrow though.
		There&apos;s just not enough time today.
		After passing this unexpected branch, I started to realise I&apos;d made a mistake in taking this path.
		I&apos;d always assumed it&apos;d reach Q Street if I went down it far enough, but I remembered along the way that Q Street wasn&apos;t long enough to intersect with this path, given it&apos;s position.
		I had no idea where this path would lead and it certainly wouldn&apos;t be useful to me in any way.
		I had to keep going though.
		It was an excuse to exercise, after all.
		When I got to the end, I found myself in an unfamiliar part of Eugene.
		I went down the street a bit to confirm what city I was even in, but then turned back, at which point I saw some familiar buildings.
		The street I was on was adjacent to one I use on rare occasions.
		I went down this other street a bit to confirm my location, then took the nearby overpass to get back to my own town.
		There, I found a familiar street name, and followed this street I&apos;d always passed, but never gone down, to reach right where I thought it would lead.
		Finally, I headed home.
	</p>
	<p>
		Today&apos;s exploration was a success, I suppose.
		I learned a bit more about the local paths and roads.
		I don&apos;t suspect to learn a whole lot from tomorrow&apos;s trip, but then again, the trip&apos;s purpose is exercise, not education.
	</p>
</section>
<section id="ISP">
	<h2>Dealing with the <abbr title="Internet service provider">ISP</abbr></h2>
	<p>
		As I said, the midpoint for my trip today was the <abbr title="Internet service provider">ISP</abbr>&apos;s store.
		It&apos;s about where I thought it was, but last time I&apos;d looked, I didn&apos;t find it.
		I just didn&apos;t look quite far enough last time.
	</p>
	<p>
		Anyway, I talked to a representative there about how to register for service, and explained about how their website won&apos;t let me register for service without a telephone number.
		They explained that their company requires a telephone call before they&apos;ll activate the modem.
		They tried a few times to get me to find a way to use a telephone to set up service, such as borrowing a telephone, but when I said I couldn&apos;t do that, their solution was to send a technician down to do the setup, and the technician would make the call via mobile telephone.
		I asked how much having the technician come would cost, and they claimed that as a new customer, the fee would be waived.
		So long story short, the <abbr title="Internet service provider">ISP</abbr> would rather send over their technician on their own dime than allow modem activations via their website.
		Either that, or they were lying, and they&apos;ll actually charge me to send over the technician after all.
		I wouldn&apos;t put either past them.
	</p>
</section>
		<hr/>
		<p>
			Copyright © 2018 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2018%2F08-August%2F31.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.2</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2018%2F08-August%2F31.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

